1. Technical Field
The present invention relates in general to multi-lingual support in data processing systems and in particular to dynamic language switching in data processing systems providing multilingual support. Still more particularly, the present invention relates to segregating user interface text from underlying functionality to facilitate dynamic language switching in data processing systems providing multilingual support.
2. Description of the Related Art
Multinational companies often run information system (IS) networks which span multiple countries spread around the globe. To maximize the usefulness of such networks, operations within each country tend to run in the local language of the country. This is also the case where the networks of a single enterprise are regionally fragmented rather than interlinked. Where possible, text in user applications are in the local language.
Problems arise, however, when the enterprise assigns a staff member, usually temporarily, to a region in which the indigenous language is not one in which the staff member reads or understands, or when the enterprise attempts to establish central management of a global network. In such situations, users or system administrators may not be able to understand the user interface textxe2x80x94menu and control labels, dialog messages, help text, and the likexe2x80x94for an application which they must utilize in order to perform the task(s) assigned to them. For example, applications running on a system located in Egypt would most likely include user interface text and abstract object names (file names, user names, etc.) in Arabic; systems in Russia would utilize text and object names having Cyrillic characters; and for systems in Japan would employ Kanji symbols for user interface text and object names. A visiting staff member, or the IS staff at the multinational headquarters located in the United States, will frequently be able to read Arabic, Cyrillic, or Japanese.
Language is conventionally integrated into the software user interface, and is essentially inextricable for software which is fully compiled prior to distribution. Even for software in environments which employ an intermediate, text-based representation which is dynamically compiled and linked at run time, such as Java, human language text for user interface displays and objects names is typically integrated into the underlying operational software. This requires different software versions for operation in different languages, and switching between languages thus requires running different executable versions of the desired software.
As a result of the conventional integration of language within operational software, a user wishing to operate an application or system in a language other than that currently set for that system must shut down the application and open a different language version of the same application, or alter an operating system setting and xe2x80x9cbouncexe2x80x9d the system (reboot or reinitialize) to change the operating system. In many situations, such practices are either not viable or not acceptable.
It would be desirable, therefore, to provide support for switching the language employed for text within a user interface without requiring an application to be closed and a different executable version to be started or the operating system to be bounced.
It is therefore one object of the present invention to provide an improved method, system and computer program product for multilingual support in data processing systems.
It is another object of the present invention to provide a method, system and computer program product for dynamic language switching in data processing systems providing multilingual support.
It is yet another object of the present invention to provide a method, system and computer program product for segregating user interface text from underlying functionality to facilitate dynamic language switching in data processing systems providing multilingual support.
The foregoing objects are achieved as is now described. To facilitate dynamic language switching in a data processing system, software is implemented with user interface textxe2x80x94menu and button labels, dialog messages, help text, etc.xe2x80x94and other language-specific components segregated from underlying functionality. Thus, for example, label and other text-based parameters for Java AWT methods are taken from storage objects separate from the constructor invoking the corresponding Java AWT method. Since Java is dynamically linked at runtime, one or more language-specific files containing all user interface text for an application may be dynamically selected during initialization of the application. The language-specific file selection may be based on the current setting of a language property for the host data processing system. If a language change request is received, the user interface may be reloaded with text supplied from a different language-specific file pursuant to the language change request.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.